using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Koala.KoalaWebControls;
using FEL.APU;
using System.Globalization;
using System.Web.Services;
using System.Collections.Generic;

public partial class APU_APU_ESTRUCTURA_VARIOS : PaginaBaseKCG
{
    public Apu_Estructura Apu_Estructura_Actual
    {
        get
        {
            if (ViewState["APU_ESTRUCTURA"] == null)
                ViewState["APU_ESTRUCTURA"] = ObtenerApuEstructura();
            return (Apu_Estructura)ViewState["APU_ESTRUCTURA"];
        }
    }

    Apu_Estructura ObtenerApuEstructura()
    {
        FEL.APU.BO_Apu_Estructura datos = new BO_Apu_Estructura();
        return datos.GetById("", (Scope)Session["Scope"], Request.QueryString["Apu_Estructura_Id"])[0];
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        base.Page_Load(sender, e);
        EtiquetarBotones();
        Fv.DataBound += new EventHandler(Fv_DataBoundDatosIniciales);
    }

    protected override CheckBox CbInsertarMemoria
    {
        get { return null; }
    }

    protected override Type TipoObjeto
    {
        get { return typeof(global::Apu_Estructura_Varios); }
    }

    protected override GridView Gv
    {
        get { return gvApuEstructuraVarios; }
    }

    protected override FormView Fv
    {
        get { return fvApuEstructuraVarios; }
    }

    protected override ObjectDataSource OdsGv
    {
        get { return odsgvApuEstructuraVarios; }
    }

    protected override ObjectDataSource OdsDv
    {
        get { return odsfvApuEstructuraVarios; }
    }

    protected override Button BResponderZoom
    {
        get { return Seleccionar; }
    }

    protected override Button BRegreso
    {
        get { return Atras; }
    }

    protected override KFiltro KftFiltro
    {
        get { return kftFiltro; }
    }

    protected override string Contenedor
    {
        get { return "APU_ESTRUCTURA_VARIOS"; }
    }

    protected void nav_Siguiente(object sender, EventArgs e)
    {
        Gv_SelectedIndexChanged(sender, e);
    }

    protected void ApuVariosTipo_DataBound(object sender, EventArgs e)
    {
        DropDownList ddlVariosTipo = (DropDownList)sender;

        ddlVariosTipo.Attributes.Add("onchange", "checkSelectedValueTipo()");

        TextBox Tipo = (TextBox)Fv.FindControl("Apu_Varios_Tipo");
        ddlVariosTipo.SelectedValue = Tipo.Text;
    }

    protected override void DefinirParametrosFijosDeInsercion(System.Collections.Generic.List<DictionaryEntry> param)
    {
        if (Request.QueryString.Count > 0)
        {
            param.Add(new DictionaryEntry("Apu_Estructura_Id", Request.QueryString["Apu_Estructura_Id"]));
            param.Add(new DictionaryEntry("Apu_Estructura_Codigo", Apu_Estructura_Actual.Codigo));
            param.Add(new DictionaryEntry("Apu_Estructura_Nombre", Apu_Estructura_Actual.Nombre));
        }
        base.DefinirParametrosFijosDeInsercion(param);
    }

    private void EtiquetarBotones()
    {
        Btn_Apu_Estructura_Varios_Estructura.Text = GetLocalResourceObject("BTN_APU_ESTRUCTURA_VARIOS_ESTRUCTURARecursoKCG.Text").ToString();
        Btn_Apu_Estructura_Varios_Estructura.ToolTip = GetLocalResourceObject("BTN_APU_ESTRUCTURA_VARIOS_ESTRUCTURARecursoKCG.ToolTip").ToString();
    }

    void Fv_DataBoundDatosIniciales(object sender, EventArgs e)
    {
        DropDownList ddlTipos = ((DropDownList)Fv.FindControl("ddlVariosTipo"));
        ddlTipos.Attributes.Add("onchange", "checkSelectedValueTipo()");

        TextBox txtTipo = (TextBox)Fv.FindControl("Apu_Varios_Tipo");
        ddlTipos.SelectedValue = txtTipo.Text;
        if (Fv.DefaultMode == FormViewMode.Insert)
        {
            TextBox cantidad = (TextBox)Fv.FindControl("Cantidad");
            if (cantidad.Text == string.Empty)
                cantidad.Text = 1.ToString("N4", NumberFormatInfo.CurrentInfo);
        }
    }

    [WebMethod]
    static public string[] GetVariosNombre(string prefixText, int count, string contextKey)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.APU.BO_Apu_Varios boApuVarios = new BO_Apu_Varios();
        List<Apu_Varios> litApuVarios = boApuVarios.GetByLikeNombre("Nombre", s, prefixText + "%", contextKey);

        List<string> opciones = new List<string>();
        for (int i = 0; i < litApuVarios.Count && i < count; i++)
        {
            string value = litApuVarios[i].Id + "||" +
                           litApuVarios[i].Codigo + "||" +
                           litApuVarios[i].Costo;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litApuVarios[i].Nombre, value));
        }
        return opciones.ToArray();
    }

    protected void Btn_Apu_Estructura_Varios_Estructura_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/APU/APU_ESTRUCTURA.aspx");
    }
}
